1 GOTO910 2 PRINT"x[169][141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X` 3 [153]"xSTEPGINPUTSTOPSTEPINPUTONX` (null)(null)STEP(null)INPUTLISTLX(null)xSTEPUINPUTSTOPSTEP(null)INPUTONX` 4 PRINT"xhhh[170]h[168]hhhhhhh[152]H[138]HX` 5 [153]"hhhhhhh` 6 PRINT"[160][255][200][132][251][169][216][133][252] [241][183][138][162][160][255][200][145][251][136][208][251][230][252][202][208][246]` 7 [153]"NEWCLOSE(null)LEFT$>(null)ON(null)LET(null)(null)(null)(null)(null)(null)MID$(null)(null)` 35 IFUW=0THENSYSUU,15 40 POKEUC,0:POKEUN,0:UR$="":UI$="":IFUL=0THENUL=39 45 GETUI$:IFUI$=""THEN45 50 UA=ASC(UI$):UR=LEN(UR$):IFUA=13ANDUR>0THENPOKEUC,1:PRINT" [157]";:GOTO70 55 IFUA=20THENON-(UR=0)GOTO45:UR$=LEFT$(UR$,UR-1):PRINT"[157] [157][157]";:GOTO45 60 IFUR=ULTHEN45 65 GOSUB95:UR$=UR$+UI$:PRINTUI$;:GOTO45 70 IFUR$=UX$THENPRINT"[157] ";:GOTO145 75 FORUI=URTO1STEP-1:IFMID$(UR$,UI,1)=" "THENNEXT 80 UR$=LEFT$(UR$,UI):PRINT:RETURN 95 IFLEN(US$)=0THEN110 100 FORUI=1TOLEN(US$):IFUI$<>MID$(US$,UI,1)THENNEXT:UI$="" 105 RETURN 110 IFUA=46THENRETURN 111 IF UA=59ORUA=36THENRETURN 112 IFUI$=":"THENRETURN 113 IFUI$="*"THENRETURN 115 IFUA=32ANDUR<>0THENRETURN 120 IFUA>47ANDUA<58THENRETURN 125 IFUA>64ANDUA<91THENRETURN 130 IFUA<193ORUA>218THENUI$="":RETURN 135 IFPEEK(UT)=UU%THENUI$=CHR$(UA-128) 140 RETURN 145 GOSUB170:POKE251,0:POKE252,US/256:POKE253,0:POKE254,UF:SYSUV 150 UZ=1:UV%=PEEK(UT):GOTO300 155 UZ=0:US$=UJ$:UG$=UK$:UT$=UL$:UP=UJ:UL=UK:PRINT"[147]";:IFUW=0THENPOKEUY,6:POKEUX,6 160 POKEUT,UV%:POKE251,0:POKE252,UF:POKE253,0:POKE254,US/256:SYSUV:IFUW=0THENSYSUU,15 165 POKEU1,U1%:POKEU2,U2%:POKEU3,U3%-1:POKEU4,U4%:GOTO35 170 U1%=PEEK(U1):U2%=PEEK(U2):U3%=PEEK(U3):U4%=PEEK(U4) 175 UJ$=US$:UK$=UG$:UL$=UT$:UJ=UP:UK=UL:RETURN 300 PRINT"[147]":POKEUT,UU%:IFUW=0THENPOKEUY,12:POKEUX,6 305 PRINT" M E N U" 310 PRINT" --------------------------------" 315 PRINT" 1. BEGIN PILOT" 320 PRINT" 2. STUDENT INSTRUCTIONS" 325 PRINT" 3. TEACHER INSTRUCTIONS" 330 PRINT" 4. QUIT" 335 PRINT" --------------------------------" 340 PRINT" PRESS A NUMBER KEY (1-4) "; 345 UL=1:US$="1234" 347 GOSUB35:US$="" 350 ONVAL(UR$)GOSUB1000,400,500,390 355 GOTO300 370 IFUZ=1THENSYSUP%:GOTO155 375 RETURN 390 SYSUE:PRINT"[154][147]":IFUW=0THENPOKEUY,6:POKEUX,14:SYSUU,14 395 CLR:END 400 PRINT"[147]":POKEUT,UL%:IFUW=0THENPOKEUY,11:POKEUX,12 405 UT$=" [208]ILOT":UH=1:UP=0:UG$="[211]TUDENT [201]NST":GOSUB850 420 GOSUB3000 485 GOSUB835 490 IFUZ=1THENSYSUP%:GOTO155 495 RETURN 500 PRINT"[147]":POKEUT,UL%:IFUW=0THENPOKEUY,2:POKEUX,10 501 UT$=" [208]ILOT":UH=1:UP=0:UG$="[212]EACHER [201]NST":GOSUB850 502 PRINT" [212]O THE BEST OF OUR KNOWLEDGE," 503 PRINT" THIS PROGRAM IS IN THE PUBLIC" 504 PRINT" DOMAIN. [201]F THIS IS NOT TRUE," 505 PRINT" PLEASE CONTACT:" 506 PRINT" [195][207][205][205][207][196][207][210][197][160][194][213][211][201][206][197][211][211][160][205][193][195][200][201][206][197][211]" 507 PRINT" 3370 [208]HARMACY [193]VE. 508 [153]" ATNGINCOURT, (null)NTARIO" 509 [153]" LENANADA, (null)1(null) 2(null)4" 510 [153]" (416) 499-4292" 511 UH[178]1:[141]835:[141]850 512 [153]" (null)ROGRAM (null)AME: (null)ILOT 513 PRINT" [215]RITTEN BY : [210]. [196]RAKE 514 [153]" (null)EVISED BY : PEEKRIAN (null)UNSHAW" 515 [153]" (null)HIS PROGRAM WILL RUN ON ANY 516 PRINT" [194][193][211][201][195][160]2.0 [208][197][212] [195]OMPUTER 517 [153]" PEEKATN(null)RIGHT$LEN 4.0 (null)VAL(null)CLOSELENOMPUTER 518 PRINT" 8032 [195][194][205] [195]OMPUTER 519 [153]" LENOMMODORE 64 LENOMPUTER 520 UH=1:GOSUB835:GOSUB850:GOSUB5000 585 GOSUB835 590 IFUZ=1THENSYSUP%:GOTO155 595 RETURN 700 PRINTUC$"[147]BEFORE RUNNING THIS PROGRAM ON AN 8032 705 [153]" LOAD THE 'CBM 4032' PROGRAM":[128] 800 [153]"LOAD";:[151]UT,UU%:[139]UW[178]0[167][151]UY,1:[151]UX,14 801 [129]I[178]1[164]38:[153]" WAIT";:[130] 802 [129]I[178]1[164]22:[153]"CMD WAIT";:[130] 803 [129]I[178]1[164]37:[153]"CMDCMD WAIT";:[130] 804 [129]I[178]1[164]22:[153]"ONCMD WAIT";:[130] 805 [153]"STEP WAIT 806 PRINT" [146]  [146][169] 807 [153]" WAIT TAB((null)WAIT O M M O D O R E 808 PRINT"[223] [146] 809 [153]"EDUCATIONAL 810 PRINT"SOFTWARE 811 [153]"1985 812 PRINTLEFT$(UD$,24);"PRESS SPACE BAR OR WAIT[146]"UC$:UI=0 813 GETUI$:IFUI$<>" "THENUI=UI+1:IFUI<250THEN813 814 GOTO300 835 POKEUN,0:PRINTLEFT$(UD$,24);"PRESS SPACE BAR TO CONTINUE[146]" 840 GETUI$:IFUI$<>" "THEN840 845 RETURN 850 UP=UP+1:PRINT"[147]"LEFT$(UT$+UP$,21);RIGHT$(UP$+UG$+STR$(UP),18) 855 PRINT" --------------------------------------" 860 IFUH=0THENPRINTLEFT$(UD$,24);LEFT$(UP$,7);"HELP - PRESS H " 865 UH=0:PRINT"":RETURN 875 PRINTLEFT$(UD$,24);" ONE MOMENT PLEASE... ":RETURN 900 UX$="H":US=32768:U1=196:U2=197:U3=198:U4=216:UC=167:UB=1024:UD=1084:UE=1105 901 UT=59468:UU%=12:UL%=14:UP%=1158:UN=158:POKE50003,0:UW=PEEK(50003):UF=PEEK(53) 902 IFUW=0THENUS=1024:U1=209:U2=210:U3=211:U4=214:UC=204:UB=2048:UX=53280:UD=2064 903 IFUW=0THENUT=53272:UU%=21:UL%=23:UP%=2151:UN=198:UY=53281:UU=2199:UE=2087 904 UC$=CHR$(155):UV=1214:IFUW=0THENUF=196:UV=2238 905 UD$="":UP$=" " 907 DIMP$(150),Q$(150),I$(20),R$(6),X$(4),OP$(2),C$(12) 909 RETURN 910 GOSUB900:PRINT"[147]":PRINT"[160]":REM SHIFTED SPACE 915 IFPEEK(US+40)<>96THEN700 920 IF(FRE(0)-(SGN(FRE(0))<0)*65536)>500THEN935 925 PRINTUC$"[147]THIS MACHINE DOES NOT HAVE ENOUGH" 930 PRINT"MEMORY TO RUN THIS PROGRAM !":SYSUE:END 935 PRINT"[147]"UC$:IFUW=0THEN965 940 IFUF=60ORUF=108ORUF=124THEN950 945 POKE52,0:POKE53,UF-4:CLR:GOSUB900 950 IFUW=160THENPOKE1103,88:POKE1104,228:POKE1107,85:POKE1111,228:GOTO965 955 IFUW<>1THENPRINT"[147]THIS PGM WILL NOT WORK ON THIS MACHINE!":SYSUE:END 960 POKE1103,49:POKE1104,230:POKE1107,46:POKE1111,230:GOTO965 965 SYSUD 970 GOSUB800:GOTO300 1000 IFUZ=1THENSYSUP%:SYSUP%:UZ=0 1001 PRINT"[147]"UC$;:RESTORE:IFUW=0THENPOKEUY,6:POKEUX,6 1005 CLOSE8:CLOSE1 1015 RESTORE 1020 DATA C,H,D,R,U,L 1030 FORI=1TO6:READSC$(I):NEXTI 1041 N$="0123456789" 1050 DATAE,A,T,M,J,S,B,X,U,R,Z,W 1060 DATANEW,RUN,LIST,STOP,EDIT,LOAD,SAVE,I,J,K,L 1070 FORI=1TO12:READC$(I):NEXTI 1080 FORI=0TO6:READR$(I):NEXTI 1090 FORI=1TO4:READX$(I):NEXTI 1100 OP$(0)=">":OP$(1)="<":OP$(2)="=" 1110 GOTO1420 1120 FORA=1TO150:P$(A)="":Q$(A)="":NEXTA:LI=1:FORA=1TO150 1130 PRINTLEFT$(UD$,LI)RIGHT$(UP$+STR$(A),4)" ";:UL=30:US$="":GOSUB35:P$(A)=UR$ 1140 IFP$(A)="DONE"GOTO1200 1190 LI=LI+1:IFLI=18THENPRINTLEFT$(UD$,25):LI=17 1195 NEXT 1200 PRINT"[147]":LI=1:C=0:A1=A-1:M=0:FORA=1TOA1:FORB=1TOLEN(P$(A)) 1210 IFMID$(P$(A),B,1)<>"*"ANDMID$(P$(A),B,1)<>"!"GOTO1230 1220 GOTO1290 1230 IFMID$(P$(A),B,1)<>":"GOTO1270 1240 Q$(A)=LEFT$(P$(A),B-1):IFLEN(P$(A))=LEN(Q$(A))+1THEN P$(A)=".":GOTO1290 1250 P$(A)=RIGHT$(P$(A),LEN(P$(A))-B) 1260 GOTO1290 1270 NEXTB 1280 PRINTLEFT$(UD$,LI)"COMMAND ERROR IN"A 1285 LI=LI+1:IFLI=18THENPRINTLEFT$(UD$,25):LI=17 1290 NEXTA 1300 GOTO1420 1310 C1=0:FORB=1TO4:I(B)=0:NEXTB:PRINT"[147]---RUN OF PROGRAM---" 1320 FORA=1TOA1:FORC2=1TO12:IFLEFT$(Q$(A),1)=C$(C2)GOTO1340 1330 NEXTC2:GOTO1400 1340 IFLEN(Q$(A))<>2GOTO1380 1350 IFRIGHT$(Q$(A),1)="Y"GOTO2660 1360 IFRIGHT$(Q$(A),1)="N"GOTO2680 1370 PRINT"INCORRECT CONDITIONAL IN LINE"A:GOTO1420 1380 IFC2=1THENGOTO1410 1390 ONC2GOSUB1040,1790,1590,1710,1860,1920,2010,2050,2170,2180,2190,2460 1400 GETA$:IFA$=CHR$(3)THEN PRINT"STOPPED AT LINE"A:GOTO 1420 1405 NEXT A 1410 M=0:PRINT"END OF RUN" 1420 GOSUB11000 1422 PRINTLEFT$(UD$,19):PRINT"NEW LIST RUN STOP EDIT LOAD SAVE" 1423 PRINT"COMMAND:[146] [157][157][157][157]"; 1425 UZ=1:UL=4:US$="":GOSUB35:R$=UR$:PRINT 1430 FORR=0TO6:IFR$=R$(R)THENPRINT"[147]":GOTO1470 1440 NEXTR 1450 PRINT"I DON'T UNDERSTAND "UR$". [145][145][145][145]" 1460 GOTO1423 1470 IF R<>2 THEN 1480 1471 LI=1:GOSUB11000:PRINT"STARTING LINE: ";:UL=3:US$=N$:GOSUB35:A=VAL(UR$) 1472 PRINT"ENDING LINE: ";:UL=3:US$=N$:GOSUB35:BD=VAL(UR$) 1480 PRINT"[147]":ONR+1GOTO1120,1310,1490,1580,2220,2570,2480 1490 IFR=2THENA=A-1:GOTO1510 1500 A=0:BD=999 1510 A=A+1:IFA>A1ORA>BDGOTO1420 1520 PRINTLEFT$(UD$,LI);:IFQ$(A)<>""GOTO1540 1530 PRINTRIGHT$(UP$+STR$(A),5);TAB(6)P$(A):GOTO1565 1540 PRINTRIGHT$(UP$+STR$(A),5);TAB(6)Q$(A)":";:IFP$(A)="."THENPRINT:GOTO1565 1550 PRINTP$(A) 1565 LI=LI+1:IFLI=18THENLI=17:PRINTLEFT$(UD$,25) 1570 GOTO1510 1580 UZ=0:GOTO300 1590 FORZ=1TOLEN(P$(A)):IFMID$(P$(A),Z,1)="$"GOTO1610 1600 NEXTZ:GOTO1690 1610 FORZ1=Z+1TOLEN(P$(A)):IFMID$(P$(A),Z1,1)="$"THEN GOTO1630 1620 NEXTZ1:GOTO1690 1630 V$=MID$(P$(A),Z+1,Z1-Z):FORH=C1-1TO1STEP-1 1640 IFV$<>I$(H)THEN GOTO1680 1650 PRINTLEFT$(P$(A),Z-1)I$(H+1);:IFZ1>=LEN(P$(A))THENPRINT:GOTO1670 1660 PRINTRIGHT$(P$(A),LEN(P$(A))-Z1) 1670 GOTO1700 1680 NEXTH 1690 PRINTP$(A) 1700 RETURN 1710 M=0:E1=1 1720 FORE=1TOLEN(P$(A)):IFMID$(P$(A),E,1)="."GOTO1740 1730 GOTO1760 1740 IFMID$(P$(A),E1,LEN(Z$))=Z$GOTO1770 1750 E1=E+1 1760 NEXTE:RETURN 1770 M=1 1780 RETURN 1790 FORZ=1TOLEN(P$(A)):IFMID$(P$(A),Z,1)<>"$"GOTO1830 1800 C1=C1+2:I$(C1-1)=P$(A) 1810 UL=79:US$="":PRINT"? ";:GOSUB35:I$(C1)=UR$ 1820 Z$=I$(C1):GOTO1850 1830 NEXTZ 1840 UL=79:US$="":GOSUB35:Z$=UR$ 1850 RETURN 1860 FORD=1TOA1:IFQ$(D)<>""GOTO1900 1870 IFP$(A)<>P$(D)GOTO1900 1880 A=D 1890 RETURN 1900 NEXTD 1910 PRINT"JUMP TO UNFOUND LABEL":GOTO1420 1920 FORZI=1TO6:IFP$(A)=SC$(ZI)GOTO1940 1930 NEXTZI:PRINT" UNFOUND SCREEN COMMAND IN LINE"A:GOTO1420 1940 ONZIGOTO1950,1960,1970,1980,1990,2000 1950 PRINT"[147]";:RETURN 1960 PRINT"";:RETURN 1970 PRINT"";:RETURN 1980 PRINT"";:RETURN 1990 PRINT"[145]";:RETURN 2000 PRINT"[157]";:RETURN 2010 FORB=1TO4:IFP$(A)=X$(B)THENI(B)=I(B)+1:GOTO2040 2020 NEXTB 2030 PRINT"ILLEGAL VALUE IN LINE"A:GOTO1420 2040 RETURN 2050 M=0:R$=LEFT$(P$(A),1):FORB=1TO4:IFR$=X$(B)GOTO2070 2060 NEXTB:GOTO2030 2070 R$=MID$(P$(A),2,1):FORBB=0TO2:IFR$=OP$(BB)GOTO2090 2080 NEXTBB:GOTO2030 2090 R$=RIGHT$(P$(A),LEN(P$(A))-2) 2100 ONBB+1GOTO2110,2130,2150 2110 IFI(B)>VAL(R$)THENM=1 2120 RETURN 2130 IFI(B)A1ORA=0THENPRINT"[145][145][145]":GOTO2226 2229 GOSUB11000:IFA1=0ORA=0THEN1420 2230 PRINT"LINE:[146]"A; 2235 IFQ$(A)<>""THEN2250 2240 PRINTP$(A):GOTO2270 2250 PRINTQ$(A)":";:IFP$(A)="."THENPRINT:GOTO2270 2260 PRINTP$(A) 2270 PRINT"C[146]HANGE D[146]ELETE I[146]NSERT S[146]ET LINE":PRINT"E[146]XIT 2280 [161]A$:[139]A$[178]""[137]2280 2285 [139]A$[178]"S"[167]2225 2290 [139]A$[178]"E"[137]1420 2300 [139]A$[178]"D"[137]2350 2310 [139]A$[178]"I"[137]2360 2320 [139]A$[178]"C"[137]2380 2330 [137]2280 2350 [129]G[178]A[164]A1[171]1:Q$(G)[178]Q$(G[170]1):P$(G)[178]P$(G[170]1):[130]G:A1[178]A1[171]1:A[178]A[171]1:[137]2229 2360 [129]G[178]A1[170]1[164]A[169][171]1:Q$(G[170]1)[178]Q$(G):P$(G[170]1)[178]P$(G):[130]G 2370 A1[178]A1[170]1: 2380 [141]11000:UL[178]30:US$[178]"":[153][200](UD$,19)UP$:[153]"ONLINE:WAIT "; 2385 [141]35:P$(A)[178]UR$:[153]:Q$(A)[178]"" 2390 [129]B[178]1[164][195](P$(A)):[139][202](P$(A),B,1)[179][177]"*"[175][202](P$(A),B,1)[179][177]"!"[137]2410 2400 [137]2229 2410 [139][202](P$(A),B,1)[179][177]":"[137]2450 2420 Q$(A)[178][200](P$(A),B[171]1):[139][195](P$(A))[178][195](Q$(A))[170]1[167]P$(A)[178]".":[137]2440 2430 P$(A)[178][201](P$(A),[195](P$(A))[171]B) 2440 [137]2229 2450 [130]B:[153]"COMMAND ERROR IN LINE.":[137]2229 2460 [139][200](P$(A),1)[178]""[137]1590 2470 P$(A)[178]""[170]P$(A):[137]1590 2480 [141]11000:[153]"WHAT FILE NAME (10 CHAR.MAX)? ";:UL[178]10:US$[178]"":[141]35 2481 NM$[178]UR$[170]".PILOT" 2482 [153]"DWAITISK OR TWAITAPE? ";:UL[178]1:US$[178]"DT":[141]35:DV[178]1:[139]UR$[178]"D"[167]DV[178]8 2490 [139] DV[178]8 [167] [159]8,8,15:NM$[178]"0:"[170]NM$[170]",S,W" 2495 [159]1,DV,DV,NM$ 2496 [139]DV[178]8[167][132]8,A$,B$:[139]A$[179][177]"00"[167][153]""B$:[160]8:[160]1:[137]2560 2500 [153]"WRITINGWAIT" 2510 [152]1,A1:[129]I[178]1[164]A1 2520 [139]Q$(I)[178]""[167]Q$(I)[178]"." 2530 [152]1,Q$(I):[152]1,P$(I) 2540 [139]Q$(I)[178]"."[167]Q$(I)[178]"" 2550 [130]I:[160]1:[139]DV[178]8[167][160]8 2560 [137]1420 2570 [141]11000:[153]"FILE NAME (10 CHAR.MAX)? ";:UL[178]10:US$[178]"":[141]35 2571 NM$[178]UR$[170]".PILOT":[153]"DWAITISK OR TWAITAPE? ";:UL[178]1:US$[178]"DT":[141]35 2572 DV[178]1:SA[178]0:[139]UR$[178]"D"[167]DV[178]8:SA[178]8:NM$[178]"0:"[170]NM$[170]",S,R" 2575 [139] DV[178]8 [167] [159]8,8,15 2580 [159]1,DV,SA,NM$ 2582 [139]DV[178]8[167][132]8,A$,B$:[139]A$[179][177]"00"[167] [153]""B$:[160]1:[160]8:[137]2560 2590 [153]"LOADING" 2600 [132]1,A1 2610 [129]I[178]1[164]A1:[132]1,Q$(I) 2620 [139]Q$(I)[178]"."[167]Q$(I)[178]"" 2630 [132]1,P$(I):[130]I 2640 [160]1:[139]DV[178]8 [167] [160]8 2650 [137]1420 2660 [139]M[178]1[137]1390 2670 [137]1400 2680 [139]M[178]1[137]1400 2690 [137]1390 3000 [143] STUDENT INSTRUCTIONS 3010 [153]" (null)RIGHT$(null)(null)(null) [2.0]WAIT (null)ODIFIED BY (null). STR$RAKE 1982 3020 PRINT" [208][201][204][207][212] = [208][146]ROGRAMMED [201][146]NQUIRY, 3025 [153]" (null)WAITEARNING (null)WAITR (null)WAITEACHING" 3030 [153]" (null)RIGHT$(null)(null)(null) IS A PROGRAMMING LANGUAGE 3040 PRINT" SIMPLE ENOUGH FOR SMALL CHILDREN TO 3050 [153]" USE. (null)HIS PROGRAM LETS YOU WRITE, 3060 PRINT" EDIT, SAVE AND EXECUTE (RUN) PROGRAMS 3070 [153]" WRITTEN IN A SUBSET OF (null)RIGHT$(null)(null)(null). (null)HIS 3080 PRINT" PROGRAM IS ACTUALLY A [212]INY-[208][201][204][207][212]." 3090 GOSUB835:UH=1:GOSUB850 3100 PRINT" [208][201][204][207][212] HAS ONLY A FEW SIMPLE 3110 [153]" COMMANDS. ATNLL COMMANDS ARE SINGLE 3120 PRINT" LETTERS FOLLOWED BY A COLON (:). 3130 [153]" ASCOR EXAMPLE VAL: MARKS THE END 3132 PRINT" OF A [208][201][204][207][212] PROGRAM. 3135 [141]835:UH[178]1:[141]850 3140 [153]" (null)HERE ARE 2 COMMANDS TO WRITE OR" 3150 [153]" PRINT ON THE SCREEN. (null)HEY ARE: 3160 PRINT" [212]: AND [215]: 3170 [153]" (null): COPIES WHATEVER FOLLOWS IT 3180 PRINT" [215]: PRINTS IN REVERSE FIELD[146]. 3190 [153]" ASCOR EXAMPLE, TO PRINT LEFT$VAL(null)(null)(null), USE THE 3200 PRINT" COMMAND: [212]:[200][197][204][204][207] 3210 [153]" OR (null):LEFT$VAL(null)(null)(null) TO GET LEFT$VAL(null)(null)(null)WAIT 3220 GOSUB835:UH=1:GOSUB850 3230 PRINT" [217]OU CAN ASK FOR INFORMATION (INPUT) 3240 [153]" WITH ATN:. 3250 PRINT" [212]HE DATA IS STORED IN A VARIABLE 3260 [153]" ENDING IN A $. ASCOR EXAMPLE: ATN;(null)ATN(null)VAL$ 3270 PRINT" WILL STORE A USER'S INPUT IN [206][193][205][197]$" 3280 PRINT" [217]OU CAN TYPE THE CONTENTS OF 3290 [153]" VARIABLES ON THE SCREEN WITH (null): OR (null): 3300 PRINT" [197].G. [212]:[215][200][193][212][160][201][211][160][217][207][213][210][160][206][193][205][197]? 3310 [153]" ATN:(null)ATN(null)VAL$ 3320 PRINT" [212]:[200][197][204][204][207][160]$[206][193][205][197]$ 3325 [153]" VAL: 3330 PRINT" [206]OTE THE EXTRA $. 3340 [141]835:UH[178]1:[141]850 3350 [153]" STR$ATA TYPED IN CAN BE COMPARED FOR 3360 PRINT" CORRECTNESS. [215]HEN A MATCH IS MADE 3362 [153]" (OR NOT MADE) A (null)ES/(null)O FLAG IS SET. 3370 PRINT" [198]OR EXAMPLE, LET US ASK FOR A VOWEL 3380 [153]" AND CHECK FOR A CORRECT ANSWER. 3390 PRINT" [212]:[212][217][208][197][160][193][160][214][207][215][197][204] 3400 [153]" ATN:(null)(null)(null)$ 3410 PRINT" [205]:[193].[197].[201].[207].[213]. 3420 [153]" (null)(null):LEN(null)(null)(null)VALLEN(null) 3430 PRINT" [212][206]:$[214][207][215]$ [201][211][160][206][207][212][160][193][160][214][207][215][197][204] 3435 [153]" VAL: 3440 GOSUB835:UH=1:GOSUB850 3450 PRINT" [206]OTE THE ITEMS IN THE MATCH LIST ARE 3460 [153]" SEPARATED BY PERIODS. ATNLSO NOTICE THE 3470 PRINT" MODIFIERS TO THE [212]: COMMAND. 3480 [153]" (null)(null): IS PRINTED IF THE MATCH IS (null)ES. 3490 PRINT" [212][206]: IS EXECUTED IF THE MATCH IS [206]O. 3495 [141]835:UH[178]1:[141]850 3500 [153]" (null)HE PRINTING ON THE SCREEN CAN BE 3510 PRINT" CONTROLLED TO A CERTAIN EXTENT WITH 3520 [153]" (null): (null)HERE ARE 6 SCREEN COMMANDS. 3530 PRINT" [211]:[195] CLEAR THE SCREEN 3540 [153]" (null):LEFT$ HOME PRINTING POSITION 3550 PRINT" [211]:[204] GO LEFT 1 SPACE 3560 [153]" (null):(null) GO RIGHT 1 SPACE 3570 PRINT" [211]:[213] GO UP 1 LINE 3580 [153]" (null):STR$ GO DOWN 1 LINE 3590 GOSUB835:UH=1:GOSUB850 3600 PRINT" [208][201][204][207][212] ALSO GIVES THE FACILITY FOR 3610 [153]" LOOPS. (null)HE COMMANDS ARE MID$: (null): PEEK: 3615 PRINT" AND [216]: ." 3620 PRINT" [202]: IS A JUMP COMMAND. [202]: IS ALWAYS 3630 [153]" USED WITH A LABEL INDICATING THE 3640 PRINT" START OF THE LOOP. [204]ET'S TRY A 3650 [153]" PROGRAM THAT ASKS OUR NAME AND PRINTS 3660 PRINT" THE NAME CONTINUOUSLY. 3665 [141]835:UH[178]1:[141]850 3670 [153]" (null):(null)LEFT$ATN(null)CLOSERIGHT$(null)CLOSE(null)(null)(null)(null)CLOSE(null)ATN(null)VAL? 3680 PRINT" [193]:[206][193][205][197]$ 3690 [153]" *PEEKVALCHR$RIGHT$(null) 3700 PRINT" [212]:$[206][193][205][197]$ 3710 [153]" MID$:*PEEKVALCHR$RIGHT$(null) 3720 PRINT" [197]: 3730 [153]" *PEEKVALCHR$RIGHT$(null) IS THE LABEL MARKING THE START 3740 PRINT" OF THE LOOP. [206]OTE THAT LABELS START 3741 [153]" WITH A *. 3760 GOSUB835:UH=1:GOSUB850 3770 PRINT" [204]OOPS CAN BE CONTROLLED WITH THE 3780 [153]" OTHER COMMANDS. (null)OU CAN HAVE UP TO 3790 PRINT" 4 LOOPS. [212]HE LOOP VARIABLES ARE: 3800 [153]" I, J, K AND L. 3805 GOSUB835:UH=1:GOSUB850 3810 PRINT" [218]: ZEROS A VARIABLE. [211]O... 3820 [153]" (null):RIGHT$ IS THE SAME AS RIGHT$=0 3830 PRINT" [194]:[201] INCREASES [201] BY 1 3840 [153]" (null): WITH <,= AND > LETS YOU CHECK THE 3850 PRINT" LOOP VARIABLE. 3851 [153]" LEFT$ERE'S A PROGRAM TO ASK YOUR NAME 3852 PRINT" AND PRINT IT 5 TIMES." 3860 GOSUB835:UH=1:GOSUB850 3870 PRINT" ![210][197][205][193][210][203] 3880 [153]" !(null)(null)RIGHT$(null)(null)CLOSE(null)(null)(null)(null)CLOSE(null)ATN(null)VAL 5CLOSE(null)RIGHT$(null)VAL(null)" 3890 [153]" ! REMARK-BLANK LINE 3900 PRINT" [211]:[195] CLEAR THE SCREEN 3910 [153]" (null):STR$ DOWN A LINE 3920 PRINT" [212]:[212][217][208][197][160][201][206][160][217][207][213][210][160][206][193][205][197] 3930 [153]" ATN:(null)ATN(null)VAL$ 3940 PRINT" [218]:[201] LET [201]=0 3950 [153]" *PEEKVALCHR$RIGHT$(null) 3960 PRINT" [212]:[206][193][205][197]$ 3970 [153]" PEEK:RIGHT$ INCREASE RIGHT$ BY 1 3980 PRINT" [216]:[201]=5 IS [201]=5? 3990 [153]" MID$(null):*PEEKVALCHR$RIGHT$(null) IF RIGHT$ ISN'T 5,JUMP 4000 PRINT" [197]: 4010 [153]" (null)OTE THE MID$UMP ON (null)(null). MID$UMP ON (null)ES IS 4020 PRINT" ALSO POSSIBLE." 4030 GOSUB835:UH=1:GOSUB850 4040 PRINT" [208][201][204][207][212] ALSO SUPPORTS SUBROUTINES, 4050 [153]" THAT IS SMALL PROGRAMS WITHIN A 4060 PRINT" LARGER PROGRAM. [211]UBROUTINES OR 4070 [153]" PROCEDURES CAN BE WRITTEN AND TESTED 4080 PRINT" AND THEN ADDED TO A LARGER PROGRAM. 4090 [153]" (null)UBROUTINES ARE ESPECIALLY VALUABLE 4100 PRINT" FOR TASKS THAT ARE TO BE REPEATED. 4105 [141]835:UH[178]1:[141]850 4110 [153]" (null)HE COMMANDS ARE (null): TO EXECUTE THE 4120 PRINT" ROUTINE AND [210]: TO MARK ITS END. 4130 [153]" (null): IS FOLLOWED BY A LABEL (LIKE THE 4140 PRINT" LABELS USED FOR JUMPS). 4150 [153]" LEFT$ERE IS A FINAL EXAMPLE SHOWING A 4160 PRINT" SIMPLE SUBROUTINE. 4170 [141]835:UH[178]1:[141]850 4180 [153]" ! STR$VAL(null)(null)(null)(null)(null)(null)ATN(null)VALCLOSE(null)(null)PEEK(null)(null)(null)(null)RIGHT$(null)VAL 4190 PRINT" [212]:[212][200][201][211][160][201][211][160][193] [212][197][211][212] 4200 [153]" (null):*(null)(null)PEEK1 4210 PRINT" [213]:*[211][213][194]2 4220 [153]" VAL: 4230 PRINT" ! 4240 [153]" *(null)(null)PEEK1 4250 PRINT" [212]:[212][200][201][211][160][201][211][160][210][207][213][212][201][206][197][160][206][213][205][194][197][210][160]1 4260 [153]" (null): 4270 PRINT" *[211][213][194]2 4280 [153]" (null):(null)LEFT$RIGHT$(null) RIGHT$(null)CLOSE(null)(null)(null)(null)RIGHT$(null)VALCLOSE(null)(null)(null)PEEKVAL(null)CLOSE2 4290 PRINT" [210]: 4310 [141]835:UH[178]1:[141]850 4320 [153]" (null)HEN YOU ARE ENTERING A PROGRAM YOU 4330 PRINT" MAY INDICATE THAT YOU ARE FINISHED 4340 [153]" BY TYPING STR$(null)(null)VAL." 4350 [142] 5000 [143] TEACHER INSTRUCTIONS 5010 [153]" (null)RIGHT$(null)(null)(null) IS A CONVERSATIONAL LANGUAGE 5020 PRINT" WRITTEN BY [202]OHN [211]TARKWEATHER AT" 5030 PRINT" [213].[211].[195]. TO SIMPLIFY THE WRITING OF" 5040 PRINT" PROGRAMS CONSISTING OF CONVERSATIONAL" 5050 PRINT" DIALOGUES. [201]T IS A LANGUAGE THAT 5060 [153]" CAN BE UNDERSTOOD BY MOST 8 YEAR OLDS. 5070 GOSUB835:UH=1:GOSUB850 5080 PRINT" [208][201][204][207][212]'S INSTRUCTIONS CAN BE COMPARED 5090 [153]" TO PEEKATN(null)RIGHT$LEN'S. 5100 PRINT" [212] - [208][210][201][206][212] [193] - [201][206][208][213][212] 5110 [153]" MID$ - CHR$(null)(null)(null) (null) - RIGHT$ASC/(null)LEFT$VAL(null) FOR STRINGS 5120 PRINT" [213] - [199][207][211][213][194] [210] - [210][197][212][213][210][206] 5130 [153]" PEEK - RIGHT$=RIGHT$+1 (null) - RIGHT$ASC/(null)LEFT$VAL(null) FOR COUNTERS 5140 PRINT" [218] - [201]=0 [197] - [197][206][196] 5141 [153]" (null)OME VERSIONS OF (null)RIGHT$(null)(null)(null) SUPPORT 5142 PRINT" COMPUTATION. [212]HIS [212]INY-[208][201][204][207][212] DOESN'T. 5150 [141]835 5360 [142] 11000 [153][200](UD$,18):[129]I[178]1[164]6:[153]UP$:[130]:[153][200](UD$,18):[142]